<?php
	header('Content-type: application/json; charset=utf-8');
	
	function array_utf8_encode_recursive($dat){
        if (is_string($dat)) { 
            return utf8_encode($dat); 
        } 
        if (is_object($dat)) { 
            $ovs= get_object_vars($dat); 
            $new=$dat; 
            foreach ($ovs as $k =>$v)    { 
                $new->$k=array_utf8_encode_recursive($new->$k); 
            } 
            return $new; 
        } 
          
        if (!is_array($dat)) return $dat; 
        $ret = array(); 
        foreach($dat as $i=>$d) $ret[$i] = array_utf8_encode_recursive($d); 
        
        return $ret; 
    }
	
	function revisarFechaEvento($fecha){
		$estado = 0;
		$dia = 0;
		$mes = 0;
		$hora = 0;
		$fecha4 = "";
		$fechaFin = "";
		$mesNum = 0;
		$meses = array('enero','febrero','marzo','abril','mayo','junio','julio','agosto','septiembre','octubre','noviembre','diciembre');
		if($fecha == null || $fecha == '')
			$estado = 3;
		//12 de junio 20:00 Hrs.
		$fecha1 = str_replace(" Hrs.",":00",$fecha);
		//12 de junio 20:00:00
		$fecha2 = str_replace(" de "," ",$fecha1);
		$fecha3 = str_replace("  "," ",$fecha2);
		//12 junio 20:00:00 
		if($estado != 3){
			list($dia,$mes,$hora) = explode(" ",$fecha3);
			for($i = 0; $i < count($meses); $i++){
				if($mes == $meses[$i]){
					$mesNumAux = $i + 1;
					if($mesNumAux < 10){
						$mesNum = "0".$mesNumAux;
					}
					break;
				}
			}
			$fecha4 = $dia."-".$mesNum."-2012 ".$hora;
			$hoy = date("d-m-Y H:i:00",time());
			$fecha_actual = strtotime($hoy);
			$fecha_evento = strtotime($fecha4);
			$auxFecha = date("d m Y H i s",$fecha_evento);
			$arrFecha = explode(" ",$auxFecha);
			$nuevaHora = $arrFecha[3] + 2;
			if($nuevaHora >= 24){
				$nuevaHora = $nuevaHora - 24;
				$nuevaHora = "0".$nuevaHora;
				$arrFecha[0]++;
				if($arrFecha[0] < 10){
					$arrFecha[0] = "0".$arrFecha[0];
				}
			}
			$nuevaFecha = $arrFecha[0]."-".$arrFecha[1]."-".$arrFecha[2]." ".$nuevaHora.":".$arrFecha[4].":".$arrFecha[5];
			$fecha_evento_fin = strtotime($nuevaFecha);
			//Return 0: Ya se acabo
			//Return 1: Esta ocurriendo
			//Return 2: Va a ocurrir
			//Return 3: Son fechas que dicen: Desde....hasta
			$fechaIf1 = $fecha_evento_fin - $fecha_actual;
			$fechaIf21 = $fecha_evento - $fecha_actual;
			$fechaIf22 = $fecha_evento_fin - $fecha_actual;
			$fechaIf3 = $fecha_actual - $fecha_evento;
			if($fechaIf1 < 0){
				$estado = 0; 
			}
			else{
				if( $fechaIf21 < 0 && $fechaIf22 > 0){
					$estado = 1;
				}
				else{
					if($fechaIf3 < 0){
						$estado = 2;
					}
					else{
						$estado = 3;
					}
				}
			}
		}
		else{
			$estado = 3;
		}
		return $estado;
	}
	
	function revisarFechaEvento2($fechaInicio,$fechaFin){
		$hoy = date("Y-m-d H:i:00",time());
		$fecha_actual = strtotime($hoy);
		$fecha_inicio = strtotime($fechaInicio);
		$fecha_fin = strtotime($fechaFin);
		// 0: Ya se acabo
		// 1: Esta ocurriendo
		// 2: Va a ocurrir
		if($fecha_actual > $fecha_fin){
			$estado = 0;
		}
		if($fecha_actual > $fecha_inicio && $fecha_actual < $fecha_fin){
			$estado = 1;
		}
		if($fecha_actual < $fecha_inicio){
			$estado = 2;
		}
		return $estado;
	}
	
	//CONECTARSE A LA BD, RECIBIR LOS DATOS REQUERIDOS, AGREGARLOS A UN ARREGLO EN JSON, AGREGARLES EL ESTADO Y ENVIARLOS.
	
	mysql_connect("127.0.0.1","root","");
	mysql_select_db("gonow");
	
	if(isset($_GET['id'])){
		$particular = $_GET['id'];
	}
	else{
		$particular = null;
	}
	
	if(isset($particular)){
		$query = 'SELECT id_evento, nombre_evento, fecha_inicio, fecha_termino, direccion_evento, precios, evento.id_categoria, nombre_categoria, latitud, longitud 
					FROM evento, categoria 
					WHERE id_evento = '.$particular.' 
					AND evento.id_categoria = categoria.id_categoria 
					AND latitud != "0" 
					AND longitud != "0"';
		$sql = mysql_query($query);
	}
	else{
		$query = 'SELECT id_evento, nombre_evento, fecha_inicio, fecha_termino, direccion_evento, precios, evento.id_categoria, nombre_categoria, latitud, longitud 
					FROM evento, categoria 
					WHERE evento.id_categoria = categoria.id_categoria 
					AND latitud != "0" 
					AND longitud != "0"
					ORDER BY evento.latitud, evento.longitud, evento.fecha_inicio';
		$sql = mysql_query($query);
	}
	
	$eventos = array();
	$est = 0;
	$auxlat= 0;
	$auxlong=0;
	while($row = mysql_fetch_assoc($sql)){
		$aux = $row;
		
		if ( ($auxlat!= $aux['latitud']) ||($auxlong!= $aux['longitud']) ) {
		$auxlat= $aux['latitud'];
		$auxlong= $aux['longitud'];
		$fechaInicio = $aux['fecha_inicio'];
		$fechaFin = $aux['fecha_termino'];
		$estado = revisarFechaEvento2($fechaInicio,$fechaFin);
		if($estado == 1 || $estado == 2){
			$aux["estado"] = $estado;
			$query = 'SELECT descripcion FROM descripcion WHERE id_evento = '.$aux['id_evento'];
			$sql2 = mysql_query($query);
			if(mysql_num_rows($sql2) < 1){
				$aux['descripcion'] = 'Sin informacion';
			}
			else{
				$row2 = mysql_fetch_assoc($sql2);
				$aux['descripcion'] = $row2['descripcion'];
			}
			$evento = array("evento"=>$aux);
			$eventos[] = $evento;
		}
		}
	}
	$ev = array("eventos"=>$eventos);
	$json = array_utf8_encode_recursive($ev);
	echo json_encode($json);
	mysql_close();
?>